home *** CD-ROM | disk | FTP | other *** search
/ Komputer for Alle 2003 #3 / K-CD-3-2003.ISO / WinXP Service Pack 1 / xpsp1_sv_x86.exe / page1.as_ / page1.asp
Encoding:
Text File  |  2002-08-01  |  16.5 KB  |  557 lines

  1. ∩╗┐<%@ CODEPAGE=65001 %>
  2. <%
  3. 'Localized Language Code Page
  4. '------------------------------------------------------------
  5. '
  6. ' Microsoft Internet Printing Project
  7. '
  8. ' Copyright (c) Microsoft Corporation. All rights reserved.
  9. '
  10. ' Default SNMP page. This page is used if there is nothing
  11. ' supplied by the printer vendor.
  12. '
  13. '------------------------------------------------------------
  14.     option explicit
  15. %>
  16. <!-- #include file = "ipp_util.inc" -->
  17. <!-- #include file = "ipp_0000.inc" -->
  18. <%
  19.     On Error Resume Next
  20.     Err.Clear
  21.  
  22.     CheckSession
  23.  
  24.     Response.expires = 0
  25.     Response.Buffer = TRUE
  26.     Dim bRefresh
  27.     bRefresh = Request ("refresh") = 1
  28. %>
  29.  
  30. <%
  31.  
  32. const L_NotEmpty_Text    = "Inte tomt"   'The input tray is not empty
  33. const L_Empty_Text       = "Tomt"       'The input tray is empty
  34. const L_Name_Text        = "Namn"        'The name of the input tray
  35. const L_PaperSize_Text   = "Pappersformat"
  36. const L_Media_Text       = "Media"
  37. const L_Current_Text     = "Aktuellt"     'The Current number of the paper in the input tray
  38. const L_Maximum_Text     = "Maximalt"     'The Maximum number of the paper in the input tray
  39. const L_Tray_Text        = "Fack "
  40.  
  41. const L_Seperator_Text   = " - "
  42. const L_Printer_Text     = "Skrivare"
  43. const L_Output_Text      = "Utmatning"
  44.  
  45. Function ErrorHandler (strErr)
  46.  
  47.     Dim strHref
  48.  
  49.     strHref = "ipp_0013.asp?notes=" & strErr
  50.  
  51.     Response.Redirect (strHref)
  52.     Response.End
  53.  
  54. End Function
  55.  
  56. Function ErrorHandler2 (strErr)
  57.  
  58.     Dim strScript
  59.  
  60.     strScript = "<script language=javascript>function noerror(){" &_
  61.                 "var strHref;" &_
  62.                 "strHref = ""ipp_0013.asp?notes" & strErr &_
  63.                 "window.location.href = strHref;}</script>"
  64.  
  65.     Response.Write (strScript)
  66.     Response.End
  67.  
  68. End Function
  69.  
  70. Function GenConsoleTable(iRow, iColumn, strArray, strLang)
  71. Dim strHTML
  72. Dim strBgnCol, strEndCol
  73. Dim strBgnRow, strEndRow
  74. Dim i, j, srcIndex, c
  75. Dim tmpArray
  76. ReDim tmpArray (iColumn)
  77.  
  78. strHTML = ""
  79.  
  80. strBgnCol = "<tr>"
  81. strEndCol = "</tr>"
  82.  
  83. If strLang = "JP" then
  84.     strBgnRow = "<td width=10 class=jpnfont><center><font face = ""ΓÇÜlΓÇÜr ΓÇÜo╞ÆS╞ÆV╞Æb╞ÆN, Osaka"" size=2>"
  85. Else
  86.     strBgnRow = "<td width=10 ><center>" & DEF_FONT_TAG
  87. End If
  88.  
  89. strEndRow = END_FONT & "</center></td>"
  90.  
  91. For i = 1 To iRow
  92.     srcIndex = 1
  93.     j = 1
  94.     While j <= iColumn
  95.         c = Mid (strArray(i - 1), srcIndex, 1)
  96.  
  97.         If c = "" Then
  98.            tmpArray(j) = " "
  99.         Else
  100.             if Asc(c) <= 32 Then
  101.                tmpArray(j) = " "
  102.             Else
  103.                 If strLang = "JP" Then
  104.                     tmpArray(j) = OleCvt.ToUnicode (c, 932)
  105.                 Else
  106.                     tmpArray(j) = c
  107.                 End If
  108.             End If
  109.         End If
  110.         j = j + 1
  111.         srcIndex = srcIndex + 1
  112.     Wend
  113.  
  114.     strHTML = strHTML & strBgnCol
  115.     For j = 1 To iColumn
  116.         strHTML = strHTML & strBgnRow & tmpArray(j) & strEndRow
  117.     Next
  118.     strHTML = strHTML & strEndCol
  119. Next
  120.  
  121. GenConsoleTable = strHTML
  122.  
  123. End Function
  124.  
  125. Function GenOneLight (rgLights, i, strId)
  126.     Dim strHTML
  127.  
  128.     strHTML = "<td width=50 align=right>   "
  129.  
  130.     If rgLights(SNMP_LIGHT_ON, i) <> "0"  And strId <> "IBM Network Printer 24 2.34F" Then
  131.         If rgLights(SNMP_LIGHT_OFF, i) <> "0" Then
  132.             strHTML = strHTML & "<img src=""images/ipp_0012.GIF"">"
  133.         Else
  134.             strHTML = strHTML & "<img src=""images/ipp_0005.GIF"">"
  135.         End If
  136.     Else
  137.         strHTML = strHTML & "<img src=""images/ipp_0015.GIF"">"
  138.     End If
  139.  
  140.     strHTML = strHTML & "    </td><td nowrap>" & DEF_FONT_TAG
  141.     strHTML = strHTML & strCleanString(rgLights(SNMP_LIGHT_DESCRIPTION, i)) & " " & END_FONT & "</td>"
  142.  
  143.     GenOneLight = strHTML
  144.  
  145. End Function
  146.  
  147. Function GenLightTable(iLights, rgLights, strId)
  148.     Dim   i
  149.     Dim   strHTML
  150.     Dim   strBgnHdrCol, strEndHdrCol, strOneHeader
  151.     Const L_State_Text = "Tillst├Ñnd /"
  152.     Const L_Light_Text =  "Ljust"
  153.  
  154.     strBgnHdrCol = "<td bgcolor=""#000000"">" & MENU_FONT_TAG & "<b>"
  155.     strEndHdrCol = "</b>" & END_FONT & "</td>"
  156.  
  157.     strOneHeader = "<td align=right nowrap bgcolor=""#000000"">" & MENU_FONT_TAG & "<b>"  & L_State_Text & strEndHdrCol & "</td>" &  strBgnHdrCol & L_Light_Text & strEndHdrCol
  158.     strHTML = "<tr>" &  strOneHeader & strOneHeader & strOneHeader & "</tr>"
  159.  
  160.     If iLights <= 25 then
  161.         For i = 0 To iLights
  162.             If i Mod 3 = 0 Then
  163.                 If i <> 0 Then strHTML = strHTML & "</tr>"
  164.                 strHTML = strHTML & "<tr>" & GenOneLight (rgLights, i, strId)
  165.             Else
  166.                 strHTML = strHTML & GenOneLight (rgLights, i, strId)
  167.             End If
  168.         Next
  169.         strHTML = strHTML & "</tr>"
  170.     Else
  171.         For i = 0 To iLights Step 2
  172.             strHTML = strHTML & "<tr>" & GenOneLight (rgLights, i, strId)
  173.  
  174.             If i + 1 < iLights Then
  175.                 strHTML = strHTML & GenOneLight (rgLights, i + 1, strId)
  176.             Else
  177.                 strHTML = strHTML & "<td></td><td></td>"
  178.             End If
  179.  
  180.             strHTML = strHTML & "</tr>"
  181.         Next
  182.     End If
  183.  
  184.     GenLightTable = strHTML
  185.  
  186. End Function
  187.  
  188. Function GetCurrentNumberOfPaper (iCurrent)
  189.     Dim strCount
  190.  
  191.     Select Case iCurrent
  192.     Case -1, -2
  193.         strCount = " "
  194.     Case 0
  195.         strCount = L_Empty_Text
  196.     Case -3
  197.         strCount = L_NotEmpty_Text
  198.     Case Else
  199.         strCount = cstr(iCurrent)
  200.     End Select
  201.     GetCurrentNumberOfPaper = strCount
  202. End Function
  203.  
  204. Function GenTrayTable (bPaperSize, bPaperMedia, iTrays, rgTrays)
  205.     Dim strHTML
  206.     Dim strBgnHdrCol, strEndHdrCol
  207.     Dim strBgnCol, strEndCol
  208.     Dim strBgnRow, strEndRow
  209.     Dim i, j, srcIndex, c
  210.     Dim tmpArray
  211.  
  212.     strBgnHdrCol = "<td nowrap bgcolor=""#000000"">" & MENU_FONT_TAG & "<b>"
  213.     strEndHdrCol = "</b>" & END_FONT & "</td>"
  214.     strHTML = "<tr>"
  215.  
  216.     strHTML = strHTML & strBgnHdrCol & L_Name_Text & strEndHdrCol
  217.  
  218.     If bPaperSize Then
  219.         strHTML = strHTML & strBgnHdrCol & L_PaperSize_Text & strEndHdrCol
  220.     End If
  221.  
  222.     If bPaperMedia Then
  223.         strHTML = strHTML & strBgnHdrCol & L_Media_Text & strEndHdrCol
  224.     End If
  225.  
  226.     strHTML = strHTML & strBgnHdrCol & L_Current_Text & strEndHdrCol
  227.     strHTML = strHTML & strBgnHdrCol & L_Maximum_Text & strEndHdrCol
  228.     'strHTML = strHTML & strBgnHdrCol & L_State_Text & strEndHdrCol
  229.     strHTML = strHTML & "</tr>"
  230.  
  231.  
  232.     Dim strTrayName
  233.     For i = 0 to iTrays
  234.         strBgnCol = "<td>" & DEF_FONT_TAG
  235.         strEndCol = END_FONT & "</td>"
  236.         strHTML = strHTML & "<tr>" & strBgnCol
  237.  
  238.         if rgTrays(SNMP_INTRAY_UNIT, i) = "" or rgTrays(SNMP_INTRAY_UNIT, i) = " " then
  239.             If rgTrays(SNMP_INTRAY_NAME, i) = "" Then
  240.                 strTrayName = L_Tray_Text & Cstr (i + 1)
  241.             Else
  242.                 strTrayName = rgTrays(SNMP_INTRAY_NAME, i)
  243.             End If
  244.         Else
  245.             strTrayName = rgTrays(SNMP_INTRAY_UNIT, i)
  246.         End If
  247.         strHTML = strHTML & strCleanString(strTrayName) & strEndCol
  248.         rgTrays(SNMP_INTRAY_UNIT, i) = strTrayName
  249.  
  250.         If bPaperSize Then
  251.             strHTML = strHTML & strBgnCol
  252.  
  253.             dim strLongName
  254.             strLongName =  objHelper.LongPaperName (rgTrays(SNMP_INTRAY_MEDIA, i))
  255.             If strLongName = "Unknown" Then
  256.                 strLongName = rgTrays(SNMP_INTRAY_MEDIA, i)
  257.             End If
  258.  
  259.             strHTML = strHTML & strLongName & strEndCol
  260.         End If
  261.  
  262.         If bPaperMedia Then
  263.             strHTML = strHTML & strBgnCol & getMedia (rgTrays(SNMP_INTRAY_MEDIA, i)) & strEndCol
  264.         End If
  265.         strHTML = strHTML & strBgnCol & GetCurrentNumberOfPaper( rgTrays(SNMP_INTRAY_CURRENT, i)) & strEndCol
  266.         strHTML = strHTML & strBgnCol & rgTrays(SNMP_INTRAY_MAX, i) & strEndCol
  267.         strHTML = strHTML & "</tr>"
  268.     Next
  269.  
  270.     GenTrayTable = strHTML
  271.  
  272. End Function
  273.  
  274.  
  275. Function GenAlertTable (iAlerts, rgAlerts, rgTrays)
  276.     Dim strHTML
  277.     Dim i, j, bDup, code, strDscp
  278.  
  279.     strHTML = ""
  280.  
  281.     For i = 0 to iAlerts
  282.         code = rgAlerts(SNMP_ALERT_CODE, i)
  283.         j = 0
  284.         bDup = FALSE
  285.         While j <= i - 1 And Not bDup
  286.             If code = rgAlerts(SNMP_ALERT_CODE, j) Then
  287.                 If rgAlerts(SNMP_ALERT_SUBUNIT, i) = rgAlerts(SNMP_ALERT_SUBUNIT, j) And rgAlerts(SNMP_ALERT_INDEX, i) = rgAlerts(SNMP_ALERT_INDEX, j) Then
  288.                     bDup = TRUE
  289.                 End If
  290.             End If
  291.             j = j + 1
  292.         Wend
  293.  
  294.         If Not bDup Then
  295.             strHTML = strHTML & "<tr><td width=""10%"">"
  296.  
  297.             Select Case rgAlerts(SNMP_ALERT_SEVERITY, i)
  298.             Case 3,5
  299.                 strHTML = strHTML & "<img src=""images/ipp_0004.GIF"" width=""20"">"
  300.             Case 4
  301.                 strHTML = strHTML & "<img src=""images/ipp_0003.GIF"" width=""20"">"
  302.             Case Else
  303.                 strHTML = strHTML & " "
  304.             End Select
  305.  
  306.             strHTML = strHTML & "</td><td>" & DEF_FONT_TAG
  307.             Select Case rgAlerts(SNMP_ALERT_SUBUNIT, i)
  308.             Case 8
  309.                 If rgAlerts(SNMP_ALERT_INDEX, i) > 0 Then
  310.                     strHTML = strHTML & strCleanString(rgTrays(SNMP_INTRAY_UNIT, rgAlerts(SNMP_ALERT_INDEX, i) - 1)) & L_Seperator_Text
  311.                 Else
  312.                     strHTML = strHTML & L_Tray_Text & L_Seperator_Text
  313.                 End If
  314.             Case 5
  315.                 strHTML = strHTML & L_Printer_Text & L_Seperator_Text
  316.             Case 9
  317.                 strHTML = strHTML & L_Output_Text & L_Seperator_Text
  318.             Case Else
  319.                 '
  320.             End Select
  321.  
  322.             strHTML = strHTML & strCleanString(rgAlerts(SNMP_ALERT_DESCRIPTION, i)) & END_FONT & "</td></tr>"
  323.         End If
  324.     Next
  325.  
  326.     GenAlertTable = strHTML
  327.  
  328. End Function
  329.  
  330. Function getMedia(mediaName)
  331.     Dim media, i, mediaList
  332.     Dim L_MediaList_Text(3)
  333.  
  334.     mediaList = Array("-white", "-envelope", "-colored", "-transparent")
  335.  
  336.     L_MediaList_Text(0) = "Vitt papper"
  337.     L_MediaList_Text(1) = "Kuvert"
  338.     L_MediaList_Text(2) = "F├ñrgat papper"
  339.     L_MediaList_Text(3) = "OH-film"
  340.  
  341.     i = 0
  342.     For Each media In mediaList
  343.         If InStr(mediaName, media) > 0 Then
  344.             getMedia = L_MediaList_Text(i)
  345.             Exit Function
  346.         End If
  347.         i = i + 1
  348.     Next
  349.     getMedia = ""
  350. End Function
  351.  
  352.  
  353. Const L_WrongIP_Message = "IP-adressen ├ñr felaktig."
  354. Const L_PageTitle_Text = "Status f├╢r Microsoft standard-SNMP"
  355. Const strFileID = "page1.asp"
  356.  
  357.     Dim rgState, rgAlerts, rgLights, rgTrays, rgConsole, strLight
  358.     Dim bRet, objHelper
  359.     Dim iRow, iColumn, iAlerts, iTrays, iLights
  360.     Dim bPaperSize, bPaperMedia, i
  361.     Dim strLang
  362.     Dim strId
  363.     Dim objSNMP
  364.     Dim strIP, strCommunity, iDevice, strDevice
  365.     Dim strPrinter, strEncodedPrinter, strComputer, strNewURL
  366.     Dim strHTML
  367.  
  368.     Err.Clear
  369.  
  370.     strIP = Request(IPADDRESS)
  371.     If strIP = "" Then
  372.         Err.Number = 1
  373.         Err.Description = L_WrongIP_Message
  374.         ErrorHandler (strFileID)
  375.     End If
  376.  
  377.     strCommunity      = Request (COMMUNITY)
  378.     iDevice           = Request(DEVICE)
  379.     strDevice         = CStr(iDevice)
  380.     strEncodedPrinter = Request(PRINTER)
  381.     strPrinter        = OleCvt.DecodeUnicodeName ( strEncodedPrinter )
  382.  
  383.     Set objSNMP = Server.CreateObject(PROGID_SNMP)
  384.     If Err Then ErrorHandler (strFileID)
  385.  
  386.     objSNMP.open strIP, strCommunity, 3, 2000
  387.     If Err Then ErrorHandler (strFileID)
  388.  
  389.     strComputer = session(COMPUTER)
  390.  
  391.     strNewURL   = "page1.asp?refresh=1" & ATIPADDRESS & strIP             & ATCOMMUNITY & strCommunity &_
  392.                                           ATPRINTER   & strEncodedPrinter & ATDEVICE    & strDevice
  393.  
  394.     Set objHelper = Server.CreateObject (PROGID_HELPER)
  395.     objHelper.open "\\" & strComputer & "\" & strPrinter
  396.     If Err Then ErrorHandler (strFileID)
  397.  
  398.     'Get Printer Id
  399.     strId = objSNMP.Get ("25.3.2.1.3." & CStr (iDevice))
  400.     If Err.Number <> 0 Then
  401.         ErrorHandler (strFileID)
  402.     End If
  403.  
  404.     'Get basic state
  405.     rgState = rgSNMPGetState(objSNMP, iDevice)
  406.     If Err.Number <> 0 Or Not IsArray (rgState) Then ErrorHandler (strFileID)
  407.  
  408.  
  409.     If bRefresh Then
  410.         bRet = rgSNMPConsole(objSNMP, iDevice, iRow, iColumn, rgConsole, strLang)
  411.         If Not bRet Then ErrorHandler (strFileID)
  412.  
  413.         rgLights = rgSNMPLights(objSNMP, iDevice, iLights)
  414.         If Err.Number <> 0 Then ErrorHandler (strFileID)
  415.         rgTrays = rgSNMPGetInputTrays(objSNMP, iDevice, iTrays)
  416.         If Err.Number <> 0 Then ErrorHandler (strFileID)
  417.  
  418.         If iTrays >= 0 then
  419.             bPaperSize = not (rgTrays(SNMP_INTRAY_MEDIA, 0) = "" or  rgTrays(SNMP_INTRAY_MEDIA, 0) = " " )
  420.  
  421.             bPaperMedia = (getMedia (rgTrays(SNMP_INTRAY_MEDIA, 0)) <> "")
  422.         End if
  423.         'Get alerts
  424.         rgAlerts = rgSNMPGetAlerts(objSNMP, objHelper, iDevice, iAlerts)
  425.  
  426.  
  427.     End If
  428.  
  429. %>
  430. <html>
  431.  
  432. <head>
  433. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
  434. <meta name="GENERATOR" content="Microsoft FrontPage 3.0">
  435. <meta http-equiv="refresh" content="120; url=<%=strNewURL%>" >
  436. <%=SetCodePage%>
  437. <title><%=Write(L_PageTitle_Text) %></title>
  438. </head>
  439.  
  440. <body bgcolor="#FFFFFF" text="#000000" link="#000000" vlink="#000000" alink="#000000"
  441. topmargin="0" leftmargin="0" onload="noerror()">
  442.  
  443.  
  444. <%=Write(DEF_BASEFONT_TAG)%>
  445.  
  446. <%
  447.     If Not bRefresh Then
  448.         Response.Flush
  449.         bRet = rgSNMPConsole(objSNMP, iDevice, iRow, iColumn, rgConsole, strLang)
  450.         If Not bRet Then ErrorHandler2 (strFileID)
  451.     End If
  452.  
  453.    Const L_FrontPanelColon_Text = "Frontpanel:"
  454.    Const L_DeviceStatus_Text    = "Enhetsstatus:"
  455.    Const L_FrontPanel_Text      = "Frontpanel"
  456.    Const L_RealTimeTitle_Text   = "Realtidsvisning av skrivarens frontpanel"
  457. %>
  458.  
  459. <table width="100%" border=0 cellspacing="0" cellpadding="2">
  460.     <tr>
  461.         <td nowrap>
  462.             <b><%=Write(DEF_FONT_TAG & L_DeviceStatus_Text & END_FONT)%></b>
  463.         </td>
  464. <% If IsArray (rgConsole) Then
  465.     Response.Write(Write("<td><b>" & DEF_FONT_TAG & L_FrontPanelColon_Text & END_FONT & "</b></td>") )
  466.    End If
  467. %>
  468.  
  469.     </tr>
  470.     <tr>
  471.         <td>
  472.             <% =Write(strSnmpStatus(rgState)) %>
  473.         </td>
  474. <% If IsArray (rgConsole) Then
  475.        strHTML = "<td><table border=""2"" bgcolor=""#C0C0C0"" ><tr>" &_
  476.              "<td><table border=""0"" width=""" & CStr(iColumn*10) & """ bgcolor=""#C0C0C0"" cellspacing=""0"" cellpadding=""0"" title = """ & L_RealTimeTitle_Text & """>" &_
  477.                            GenConsoleTable(iRow, iColumn, rgConsole, strLang) &_
  478.                       "</table></td>" &_
  479.                  "</tr></table></td>"
  480.     Response.Write( Write(strHTML) )
  481.    End If
  482. %>
  483.     </tr>
  484. </table>
  485.  
  486.  
  487. <br>
  488. <% Const L_PaperTrays_Text = "Pappersfack:" %>
  489. <b><%=Write(DEF_FONT_TAG & L_PaperTrays_Text & END_FONT)%></b><br>
  490.  
  491. <%
  492.     If Not bRefresh Then
  493.         Response.Flush
  494.         rgTrays = rgSNMPGetInputTrays(objSNMP, iDevice, iTrays)
  495.         If Err.Number <> 0 Then ErrorHandler2 (strFileID)
  496.  
  497.         If iTrays >= 0 Then
  498.             bPaperSize = not (rgTrays(SNMP_INTRAY_MEDIA, 0) = "" or  rgTrays(SNMP_INTRAY_MEDIA, 0) = " " )
  499.  
  500.             bPaperMedia = (getMedia (rgTrays(SNMP_INTRAY_MEDIA, 0)) <> "")
  501.         End If
  502.     End If
  503. %>
  504. <table border="0" width="100%" cellspacing="0" cellpadding="2">
  505. <%=Write(GenTrayTable (bPaperSize, bPaperMedia, iTrays, rgTrays))%>
  506. </table>
  507.  
  508.  
  509. <%
  510.     If Not bRefresh Then
  511.         Response.Flush
  512.         rgLights = rgSNMPLights(objSNMP, iDevice, iLights)
  513.         If Err.Number <> 0 Then ErrorHandler2 (strFileID)
  514.     End If
  515. %>
  516.  
  517. <%If iLights >= 0 Then %>
  518. <br>
  519. <% const L_ConsoleLights_Text = "Konsolindikatorer:" %>
  520. <b><%=Write(DEF_FONT_TAG & L_ConsoleLights_Text & END_FONT)%></b><br>
  521.  
  522. <table border="0" width="100%" cellspacing="0" cellpadding="2">
  523. <%=Write(GenLightTable (iLights, rgLights, strId))%>
  524. </table>
  525. <% End If%>
  526.  
  527. <br>
  528. <% Const L_DetailedErr_Text = "Detaljerade fel och varningar:" %>
  529. <b><%=Write(DEF_FONT_TAG & L_DetailedErr_Text & END_FONT)%></b><br>
  530. <%
  531.     If Not bRefresh Then
  532.         Response.Flush
  533.         'Get alerts
  534.         rgAlerts = rgSNMPGetAlerts(objSNMP, objHelper, iDevice, iAlerts)
  535.         'If Err.Number <> 0 Then Exit Function
  536.     End If
  537.  
  538. %>
  539.  
  540. <table border="0" width="100%">
  541. <%=Write(GenAlertTable (iAlerts, rgAlerts, rgTrays))%>
  542. </table>
  543.  
  544. <%
  545.     objHelper.close
  546. %>
  547.  
  548. </body>
  549. </html>
  550. <script language=javascript>
  551. function noerror()
  552. {
  553. }
  554. </script>
  555. <%
  556.     Response.End
  557. %>